home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 November: Tool Chest / Dev.CD Nov 98 TC.toast / Sample Code / Snippets / Networking / ZapTCP Application / main.c next >
Encoding:
C/C++ Source or Header  |  1993-10-27  |  1.3 KB  |  64 lines  |  [TEXT/KAHL]

  1. /*-----------------------------------------------------------------
  2.  
  3.     ZapTCP application patch sample
  4.     
  5.     Steve Falkeburg MacDTS 6/29/93
  6.     written in Think C 6.0
  7.  
  8.   -----------------------------------------------------------------*/
  9.  
  10. #ifndef __TYPES__
  11. #include <Types.h>
  12. #endif
  13.  
  14. #ifndef __DEVICES__
  15. #include <Devices.h>
  16. #endif
  17.  
  18. #ifndef __MEMORY__
  19. #include <Memory.h>
  20. #endif
  21.  
  22. #include <MacTCPCommonTypes.h>
  23. #include <TCPPB.h>
  24. #include "zaptcp.h"
  25.  
  26. void OpenTCPStuff(void);
  27.  
  28. void main(void)
  29. {
  30.     InstallZapTCP();    // patch _ExitToShell
  31.     OpenTCPStuff();        // open a stream
  32.     ExitToShell();        // exit, causing the patch to be called and the stream closed
  33. }
  34.  
  35.  
  36. // opens up a stream and doesn't close it, so our patch to _ExitToShell
  37. // will notice that there's a connection open and will close it when the app
  38. // exits.
  39.  
  40. void OpenTCPStuff(void)
  41. {
  42.     short drvrRefNum;
  43.     OSErr err;
  44.     TCPiopb pBlock;
  45.     Ptr rcvBuff;
  46.     
  47.     err = OpenDriver("\p.ipp",&drvrRefNum);
  48.     if (err!=noErr)
  49.         return;
  50.     
  51.     rcvBuff = NewPtr(8192);
  52.     if (MemError()!=noErr)
  53.         return;
  54.         
  55.     pBlock.csCode = TCPCreate;
  56.     pBlock.ioCRefNum = drvrRefNum;
  57.     pBlock.csParam.create.rcvBuff = rcvBuff;
  58.     pBlock.csParam.create.rcvBuffLen = 8192;
  59.     pBlock.csParam.create.notifyProc = nil;
  60.     err = PBControl((ParmBlkPtr)&pBlock,false);
  61.     if (err!=noErr)
  62.         return;
  63. }
  64.